package com.example.myapplication.screen

import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking

fun main(): Unit = runBlocking{
    val stateFlow = MutableStateFlow(0) //热流（数据的改变，订阅者可以观察到）

    launch {
        repeat(5) {it->//0,1,2,3,4
            delay(1000)
            stateFlow.value = it + 1
            println("数据流更新：${it + 1}")  //1,2,3,4,5
        }
    }

    //主协程在挂起4000毫秒后，才收集数据。
    //delay(4000)
    stateFlow.collect {
        println("订阅者收到:${it}")  //3,4,5
    }
}